Digital media messages and files

ABSTRACT

A method includes capturing a digital content segment, generating a first identifier, and associating the first identifier with a digital image in the memory of an electronic device. The method also includes generating a second identifier and associating the second identifier with a digital content segment in the memory. The method further includes transferring at least one of the digital image and the digital content segment to a server computer via a network, wherein the first identifier is transferred in association with the digital image and the second identifier is transferred in association with the digital content segment. The method also includes generating an electronic file providing a sequential clip listing associated with rendering a digital media message. The electronic file includes the first and second identifiers, a first indicator identifying a first frame of the digital media message, and a second indicator identifying a second frame of the digital media message.

CROSS REFERENCE TO RELATED APPLICATIONS

This application is a continuation application of U.S. patentapplication Ser. No. 15/094,557, filed on Apr. 8, 2016, which is acontinuation-in-part of U.S. patent application Ser. No. 14/683,779,filed on Apr. 10, 2015, which is a continuation-in-part of U.S. patentapplication Ser. No. 14/569,169, filed Dec. 12, 2014, which claims thebenefit of U.S. Provisional Application No. 62/042,114, filed Aug. 26,2014, and U.S. Provisional Application No. 62/038,493, filed Aug. 18,2014. This application also claims the benefit of U.S. ProvisionalApplication No. 62/146,045, filed Apr. 10, 2015. The entire disclosuresof each of the above applications are incorporated herein by reference.

BACKGROUND

It is common for users of electronic devices to communicate with otherremote users by voice, email, text messaging instant messaging, and thelike. While these means of electronic communication may be convenient invarious situations, such means are only suited for transferring alimited amount of rich content between users. For instance, while textmessages and email may be used to transmit written dialogue betweenusers, and audio, video, web content, or other files may be transmittedwith the text or email messages as attachments, such files are notintegrated with the various components of the text or email message inany way.

As a result of these shortcomings, electronic device messagingapplications have been developed to assist the user in creating digitalmessages that include, for example, images, audio, video, and othercontent. However, the functionality of existing messaging applicationsis limited. For example, such applications generally do not enable theuser to combine a wide array of digital content segments (e.g., an audiosegment, a video segment, a digital image, etc.) such that two or morecontent segments, such as segments from different sources, can bepresented to the recipient simultaneously as an integrated component ofthe digital message. Additionally, while such content segments may becaptured and/or saved locally on a user device, sharing such contentsegments with other user devices as part of the digital message and viasuch applications can be cumbersome due to the size of the audio files,video files, and/or other components of such content segments. Forexample, large audio files, video files, and the like can requiresignificant memory for storage locally on a user device, and can alsorequire a substantial amount of bandwidth to upload and/or download onmost wireless networks. As a result, handling such content segments canplace significant strain on user device resources and network resources,and can hinder device and/or network performance. Further, traditionaltechniques for rendering digital messages require that the videorendering and content upload processes begin only after a user hasfinished generating and/or composing the message. This constraint canresult in prolonged upload/render times once the message is complete.

Example embodiments of the present disclosure are directed toward curingone or more of the deficiencies described above.

BRIEF DESCRIPTION OF THE DRAWINGS

The detailed description is described with reference to the accompanyingfigures. In the figures, the left-most digit(s) of a reference numberidentifies the figure in which the reference number first appears. Thesame reference numbers in different figures indicate similar oridentical items.

FIG. 1 is a schematic diagram of an illustrative computing environmentfor implementing various embodiments of digital media messagegeneration.

FIG. 2 is a schematic diagram of illustrative components in an exampleserver computer that may be used in an example digital media messagegeneration environment.

FIG. 3 is a schematic diagram of illustrative components in an exampleelectronic device that may be used in an example digital media messagegeneration environment.

FIG. 4 shows an illustrative user interface screen displayed on anelectronic device that enables users to generate a portion of an exampledigital media message.

FIG. 5 shows another illustrative user interface screen displayed on anelectronic device that enables users to generate a portion of an exampledigital media message.

FIG. 6 shows still another illustrative user interface screen displayedon an electronic device that enables users to generate a portion of anexample digital media message.

FIG. 7 shows yet another illustrative user interface screen displayed onan electronic device that enables users to generate a portion of anexample digital media message.

FIG. 8 shows an illustrative user interface screen displayed on anelectronic device that enables users to share an example digital mediamessage.

FIG. 9 is a flow diagram illustrating an example method of the presentdisclosure.

FIG. 10 shows an illustrative user interface screen displayed on anelectronic device, as well as example audio and video tracks.

FIG. 11 shows another illustrative user interface screen displayed on anelectronic device, as well as example audio and video tracks.

FIG. 12 shows an illustrative electronic file of the present disclosure.

FIG. 13 is a flow diagram illustrating another example method of thepresent disclosure.

FIG. 14 shows another illustrative user interface screen displayed on anelectronic device that enables users to create and/or modify a digitalmedia message.

DETAILED DESCRIPTION

Overview

The disclosure is directed to devices and techniques for generatingdigital media messages that can be easily shared between users ofelectronic devices as a means of communication. The techniques describedherein enable users to combine a variety of different digital contentsegments into a single digital media message. For example, the user maycreate a digital media message by capturing audio content segments,video content segments, digital images, web content, and the like. Suchcontent segments may be captured by the user during generation of thedigital media message. Alternatively, such content segments may becaptured by the user prior to generating the digital media message andmay be saved in a memory of the electronic device, or in a cloud-basedmemory, for incorporation into the digital media message.

In various embodiments, replacing, for example, part of a video track ofan underlying digital video segment with a digital image may reduce thefile size of the resulting digital media message. In particular, thereplaced portion of the video track may typically be rendered atapproximately 300 frames/second for a duration of the portion of thevideo track, and may be characterized by a commensurate memory and/orfile size (e.g., in bytes). The selected digital image, on the otherhand, may comprise a single frame that may be rendered for the durationof the replaced portion of the video track. Thus, replacing a portion ofthe video track of the underlying digital video segment with the digitalimage may reduce the number of frames/second of the underlying videosegment, thereby reducing file size thereof. As a result, a digitalmedia message generated using such techniques may have a smaller filesize and may require/take up less memory than a corresponding digitalmedia message generated using the underlying digital video segment withthe video track unchanged (e.g., without replacing a portion of thevideo track with a selected digital image).

Reducing the file size and/or memory requirements of digital mediamessages in this way has many technical effects and/or advantages. Forexample, such a reduction in file size and/or memory requirements willenable the various networks, servers, and/or electronic devicesdescribed herein to transfer and/or render digital media messages morequickly and with fewer network, server, and/or device resources. As aresult, such a reduction in file size and/or memory requirements willreduce overall network load/traffic, and will improve network, server,and/or electronic device performance. As another example, such areduction in file size and/or memory requirements will enable thevarious networks, servers, and/or electronic devices described herein toprovide, render, display, and/or otherwise process such digital mediamessages more quickly and with fewer network, server, and/or deviceresources. In particular, such a reduced file size may reduce the serverand/or electronic device memory required to receive and/or store suchmessages. Such a reduced file size may also reduce the processor loadrequired to provide, render, display, and/or otherwise process suchdigital media messages. As a result, such a reduction in file sizeand/or memory requirements will reduce overall network load/traffic, andwill improve network, server, and/or electronic device performance andefficiency. Additionally, various embodiments of the present disclosuremay enable digital content segments associated with the digital mediamessage to be uploaded to a server computer or other cloud-basedresource substantially in real time. In some examples, various digitalcontent segments associated with the digital media message being createdmay be transferred to such a server computer while the digital contentsegment is being captured by a user device. As a result, the timerequired for transferring and/or rendering the finished digital mediamessage on an additional user device may be greatly reduce.

Illustrative environments, devices, and techniques for generatingdigital media messages are described below. However, the describedmessage generation techniques may be implemented in other environmentsand by other devices or techniques, and this disclosure should notinterpreted as being limited to the example environments, devices, andtechniques described herein.

Illustrative Architecture

FIG. 1 is a schematic diagram of an illustrative computing environment100 for implementing various embodiments of digital media messagegeneration. The computing environment 100 may include server(s) 102 andone or more electronic devices 104(1)-104(N) (collectively “electronicdevices 104”) that are communicatively connected by a network 106. Thenetwork 106 may be a local area network (“LAN”), a larger network suchas a wide area network (“WAN”), or a collection of networks, such as theInternet. Protocols for network communication, such as TCP/IP, may beused to implement the network 106. Although embodiments are describedherein as using a network such as the Internet, other distributiontechniques may be implemented that transmit information via memorycards, flash memory, or other portable memory devices.

A media message engine 108 on the electronic devices 104 and/or a mediamessage engine 110 on the server(s) 102 may receive one or more digitalcontent segments 112(1)-112(N) (collectively, “digital content segments112” or “content segments 112”) and may generate one or more digitalmedia messages 114 (or “media messages 114”) based on the contentsegments 112. In example embodiments, the media message engine 108 mayreceive one or more content segments 112 via interaction of a user 116with an electronic device 104. In some embodiments, the media messageengine 108 may provide such content segments 112 to the media messageengine 110 on the server 102, via the network 106, to generate at leasta portion of the media message 114. Alternatively, at least a portion ofthe media message 114 may be generated by the media message engine 108of the respective electronic device 108. In either example, the mediamessage 114 may be directed to one or more additional electronic devices118(1)-118(N) (collectively “electronic devices 118”) via the network106. Such electronic devices 118 may be disposed at a location remotefrom the electronic devices 104, and one or more users 120 may consumethe digital media message 114 via one or more of the electronic devices118.

Each of the electronic devices 104 may include a display component, adigital camera, and an audio input and transmission component. Suchaudio input and transmission components may include one or moremicrophones. The electronic devices 104 may also include hardware and/orsoftware that support voice over Internet Protocol (VoIP) as well as anyof the display, input, and/or output components described herein. Eachof the electronic devices 104 may further include a web browser thatenables the user 116 to navigate to a web page via the network 106. Insome embodiments, the user 116 may generate and/or capture one or moredigital content segments 112 using, for example, the camera and themicrophone. For example, the user 116 may capture one or more digitalimages using the camera and/or may capture one or more video clips usingthe camera in conjunction with the microphone. Additionally, each webpage may present content that the user 116 may capture via theelectronic device 104, using various copy and/or save commands includedin the web browser of the electronic device 104, and the user mayincorporate such content into one or more content segments 112. Any ofthe content segments 112 described herein may be provided to one or bothof the media message engines 108, 110, and the media message engines108, 110 may incorporate such content segments 112 into the mediamessage 114.

Upon receiving the content segments 112 described herein, the mediamessage engines 108, 110 may tag the respective content segments 112with associated metadata. The associated metadata may include profileinformation about the type of content (e.g., image, video, audio, text,animation, etc.), the source of the content segment 112 (e.g., camera,microphone, internet web page, etc.), and/or a position in a playsequence of the digital media message 114 with which the content segment112 is to be associated.

The media message engines 108, 110 described herein may integrate and/orotherwise combine two or more digital content segments 112 to form thedigital media message 114. In some examples, the digital contentsegments 112 may be presented to the user sequentially when the mediamessage 114 is played. Alternatively, the media message engines 108, 110may combine two or more digital content segments 112 such that thecombined digital content segments 112 are presented simultaneously whenthe media message 114 is played. The media message engines 108, 110 mayalso distribute the finalized media message 114 to one or more of theelectronic devices 118. Various example components and functionality ofthe media message engines 108, 110 will be described in greater detailbelow with respect to, for example, FIGS. 2 and 3.

In various embodiments, the electronic devices 104, 118 may include amobile phone a portable computer, a tablet computer, an electronic bookreader device (an “eBook reader device”), or other devices. Each of theelectronic devices 104, 118 may have software and hardware componentsthat enable the display of digital content segments 112, eitherseparately or combined, as well as the various digital media messages114 described herein. The electronic devices 104, 118 noted above aremerely examples, and other electronic devices that are equipped withnetwork communication components, data processing components, electronicdisplays for displaying data, and audio output capabilities may also beemployed.

Example Server

FIG. 2 is a schematic diagram of illustrative components in exampleserver(s) 102 of the present disclosure. The server(s) 102 may includeone or more processor(s) 202 and memory 204. The memory 204 may includecomputer readable media. Computer readable media may include volatileand non-volatile, removable and non-removable media implemented in anymethod or technology for storage of information such as computerreadable instructions, data structures, program modules, or other data.As defined herein, computer readable media does not includecommunication media in the form of modulated data signals, such ascarrier waves, or other transmission mechanisms.

The media message engine 110 may be a hardware or a software componentof the server(s) 102 and in some embodiments, the media message engine110 may comprise a component of the memory 204. As shown in FIG. 2, insome embodiments the media message engine 110 may include one or more ofa content presentation module 206, a segment collection module 208, ananalysis module 210, an integration module 212, and a distributionmodule 214. The modules may include routines, programs instructions,objects, and/or data structures that perform particular tasks orimplement particular abstract data types. The server(s) 102 may alsoimplement a data store 216 that stores data, digital content segments112, and/or other information or content used by the media messageengine 110.

The content presentation module 206 may enable a human reader to selectdigital content segments 112 for the purpose of including the selecteddigital content segments 112 in a digital media message 114. In variousembodiments, the content presentation module 206 may present a web pageto a user 116 of an electronic device 104, such as via the network 106.In further embodiments, the content presentation module 206 may presentdigital content, information, and/or one or more digital contentsegments 112 to the user 116 of an electronic device 104 via the network106. The content presentation module 206 may also enable the user 116 toselect content, information, and/or one or more digital content segments112. Once the user 116 has selected, for example, a digital contentsegment 112, the content presentation module 206 may present furthercontent, information, and/or digital content segments 112 to the user116. The content presentation module 206 may also tag the selecteddigital content segment 112 for inclusion in the digital media message114.

The segment collection module 208 may collect audio recordings, videorecordings, images, files, web content, audio files, video files, webaddresses, and/or other digital content segments 112 identified,selected, and/or captured by the user 116. Additionally, the segmentcollection module 208 may label each digital content segment 112 withmetadata. The metadata may include profile information about the type ofcontent (e.g., image, video, audio, text, animation, etc.), the sourceof the content segment 112 (e.g., camera, microphone, internet web page,etc.), and/or a position in a play sequence of the digital media message114 with which the content segment 112 is to be associated. For example,the metadata for an audio recording may include identificationinformation identifying the digital content segment 112 as comprising anaudio recording, information indicating that the digital content segment112 was captured using a microphone of an electronic device 104,information indicating the date and time of recordation, the length ofthe recording, and/or other information. Such metadata may be providedto the content presentation module 206 by the segment collection module208 or alternatively, such metadata may be provided to the segmentcollection module 208 by the content presentation module 206.

The analysis module 210 may be used by the segment collection module 208to determine whether a collected content segment 112 meets certainquality criteria. In various embodiments, the quality criteria mayinclude whether a background noise level in the content segment 112 isbelow a maximum noise level, whether video and/or image quality in thecontent segment 112 is above a minimum pixel or other like qualitythreshold, and so forth.

The integration module 212 may use at least a portion of the metadatadescribed above to assess and/or otherwise determine which contentsegment 112 to select for integration into the digital media message114. Additionally or alternatively, the integration module 212 may useresults received from the analysis module 210 to make one or more suchdeterminations. Such determinations may be provided to the user 116 ofthe electronic device 104 while a digital media message 114 is beinggenerated as a way of guiding the user with regard to the combination ofone or more content segments 112. For instance, the integration module212 may provide advice, suggestions, or recommendations to the user 116as to which content segment 112 to select for integration into thedigital media message 114 based on one or more of the factors describedabove.

The distribution module 214 may facilitate presentation of the digitalmedia message 114 to one or more users 120 of the electronic devices118. For example, once completed, the distribution module 214 may directthe digital media message 114 to one or more of the electronic devices118 via the network 106. Additionally or alternatively, the distributionmodule 214 may be configured to direct one or more digital contentsegments 112 between the servers 102 and one or more of the electronicdevices 104. In such embodiments, the distribution module 214 maycomprise one or more kernels, drivers, or other like componentsconfigured to provide communication between the servers 102 and one ormore of the electronic devices 104, 118.

The data store 216 may store any of the metadata, content, information,or other data utilized in creating one or more content segments 112and/or digital media messages 114. For example, the data store 216 maystore any of the images, video files, audio files, web links, media, orother content that is captured or otherwise received via the electronicdevice 104. Such content may be, for example, provided to the data store216 via the network during creation of a content segment 112 and/or adigital media message 114. Alternatively, such content may be providedto the data store 216 prior to generating a content segment 112 and/or adigital media message 114. In such examples, such content may beobtained and/or received from the data store 216 during generation of acontent segment 112 and/or a digital media message 114.

In example embodiments, one or more modules of the media message engine110 described above may be combined or omitted. Additionally, one ormore modules of the media message engine 110 may also be included in themedia message engine 108 of the electronic device 104. As a result, theexample methods and techniques of the present disclosure, such asmethods of generating a digital media message, may be performed solelyon either the server 102 or one of the electronic devices 104.Alternatively, in further embodiments, methods and techniques of thepresent disclosure may be performed, at least in part, on both theserver 102 and one of the electronic devices 104.

Example Electronic Device

FIG. 3 is a schematic diagram of illustrative components in an exampleelectronic device 104 that is used to prepare and/or consume digitalcontent segments 112 and digital media messages 114. As noted above, theelectronic device 104 shown in FIG. 3 may include one or more of thecomponents described above with respect to the server 102 such thatdigital content segments 112 and/or digital media messages 114 may becreated and/or consumed solely on the electronic device 104.Additionally and/or alternatively, the electronic device 104 may includeone or more processor(s) 302 and memory 304. The memory 304 may includecomputer readable media. Computer readable media may include volatileand non-volatile, removable and non-removable media implemented in anymethod or technology for storage of information such as computerreadable instructions, data structures, program modules, or other data.As defined herein, computer readable media does not includecommunication media in the form of modulated data signals, such as acarrier wave, or other transmission mechanisms.

Similar to the memory 204 of the server 102, the memory 304 of theelectronic device 104 may also include a media message engine 110, andthe engine 110 may include any of the modules or other componentsdescribed above with respect to the media message engine 108.Additionally or alternatively, the media message engine 110 of theelectronic device 104 may include one or more of a content interfacemodule 306, a content display module 308, a user interface module 310,and a data store 312 similar to the data store 216 described above. Themodules may include routines, programs, instructions, objects, and/ordata structures that perform particular tasks or implement particularabstract data types. The electronic device 104 may also include one ormore cameras, microphones, displays (e.g., a touch screen display),keyboards, mice, touch pads, proximity sensors, capacitance sensors, orother user interface devices 314.

The content interface module 306 may enable the user to request anddownload content, digital content segments 112, or other informationfrom the server(s) 102 and/or from the internet. The content interfacemodule 306 may download such content via any wireless or wiredcommunication interfaces, such as Universal Serial Bus (USB), Ethernet,Bluetooth®, Wi-Fi, and/or the like. Additionally, the content interfacemodule 306 may include and/or enable one or more search engines or otherapplications on the electronic device 104 to enable the user 116 tosearch for images, video, audio, and/or other content to be included ina digital media message 114.

The content display module 308 may present content, digital contentsegments 112, digital media messages 114, or other information on adisplay of the electronic device 104 for viewing. In variousembodiments, the content display module 308 may provide functionalitiesthat enable the user 116 to manipulate individual digital contentsegments 112 or other information as a digital media message 114 isbeing generated. For example, the content display module 308 may provideediting functionality enabling the user 116 to delete, move, modify,augment, cut, paste, copy, save, or otherwise alter portions of eachdigital content segment 112 as part of generating a digital mediamessage 114.

Example User Interfaces

FIG. 4 shows an illustrative user interface 400 that enables the user116 to generate a digital media message 114. For example, the userinterface 400 may be displayed on an electronic device 104 that enablesusers to create, capture, search for, and/or select digital contentsegments 112, and to generate and/or consume digital media messages 114.The user interface 400 may be displayed, for example, on a display 402of the electronic device 104. In some examples, the user interface 400may be a web page that is presented to the user 116 via a web browser onthe electronic device 104. Alternatively, the user interface 400 may bean interface generated and provided by the content display module 308 aspart of a digital media message generation application operating locallyon the electronic device 104. For the duration of this disclosure,example embodiments in which the user interface 400 is generated andprovided by the content display module 308 and/or the message generationengine 108 as part of a digital media message generation applicationoperating locally on the electronic device 104 will be described unlessotherwise noted.

As shown, the message generation engine 108 may present a user interface400 that includes a first portion 404 displaying an image 406, and asecond portion 408 that includes one or more thumbnails 410(1)-410(N)(collectively “thumbnails 410”). In example embodiments, the image 406displayed in the first portion 404 may be one or more images, photos, orfirst frames of a video stored in the memory 304 of the electronicdevice 104. Alternatively, the content display module 308 may presentone or more images 406 in the first portion 404 that are obtained inreal time via, for example, a camera or other user interface device 314of the electronic device 104. For example, the first portion 404 mayprovide an image 406 of objects that are within a field of view of thecamera, and at least the first portion 404 may be receptive to userinput such as, for example, touch input, touch and hold input, swipeinput, tap input, double tap input, pinch input, and/or other gestures.

As will be described in greater detail below, the message generationengine 108 may receive input from a user of the electronic device 104via either the first portion 404 or the second portion 408. In someembodiments, such input may comprise one or more gestures such as atouch and hold command within the first portion 404. Receipt of such aninput in the first portion 404 may cause the message generation engine108 to capture and/or otherwise receive a first digital content segment112 via, for example, the camera or other user interface device 314 ofthe electronic device 104. In such embodiments, the received digitalcontent segment 112 may be displayed within the first portion 404 as thecontent segment 112 is being recorded and/or otherwise captured by thecamera. The message generation engine 108 may associate the digitalcontent segment 112 with a desired position in a play sequence of adigital media message 114.

Additionally and/or alternatively, the message generation engine 108 mayreceive input from the user of the electronic device 104 that includes atouch and hold command on one or more of the thumbnails 410 provided inthe second portion 408. Receipt of such an input in the second portion408 may cause the message generation engine 108 to receive a videosegment and/or an image associated with the respective thumbnail 410 forinclusion in the digital media message 114. The message generationengine 108 may also associate digital content segments 112 receives byselection of one or more of the thumbnails 410 with the respectivedesired position in the play sequence of the digital media message 114.

In example embodiments, each of the thumbnails 410 may be representativeand/or otherwise indicative of a respective photo, image, and/or videostored in the memory 304. For example, such content may have beencaptured by a user 116 of the electronic device 104 prior to commencinggeneration of the digital media message 114. Alternatively, one or morephotos, images, videos, and/or other content corresponding to one ormore of the thumbnails 410 may be captured during generation of thedigital media message 114. Thus, in some embodiments, the second portion408 may comprise a scrollable thumbnail library including respectivethumbnails 410 that may be selected by the user 116 for inclusion in thedigital media message 114.

As shown in FIG. 4, the user interface 400 may also include one or morecontrols configured to assist the user 116 in capturing one or moredigital content segments 112, modifying one or more of the digitalcontent segments, and/or generating one or more digital media messages114. For example, the user interface 400 may include a zoom control 412configured to enlarge or reduce, for example, the size of the image 406shown in the first portion 404 and/or to enlarge or reduce the size ofthe first portion 404 itself. The user interface 400 may also include auser interface device control 414 configured to control one or moreoperations of a user interface devices 314 of the electronic device 104.For example, the user interface device control 414 may be configured tocontrol activation of one or more cameras of the device 104. Inparticular, the user interface device control 414 may be configured toselect and/or toggle between a first camera of the electronic device 14on a first side of the electronic device 104 and a second camera on asecond side of the electronic device 104 opposite the first side.

The user interface 400 may also include a plurality of additionalcontrols including one or more navigation controls 416 and/or one ormore editing controls 418. For example, the user interface 400 mayinclude a navigation control 416 that, upon selection thereof by theuser 116, may enable the user to browse backward or forward betweendifferent user interfaces 400 while generating a digital media message114. For example, a first navigation control 416 may comprise a “back”control while a second navigation control 416 may comprise a “forward”control.

Additionally, one or more of the editing controls 418 may enable a user116 to add, remove, cut, paste, draw, rotate, flip, shade, color, fade,darken, and/or otherwise modify various aspects of the digital mediamessage 114 and/or various digital content segments 112. For example,one or more of the editing controls 418 may comprise an “undo” controlthat enables the user 116 to delete and/or otherwise remove one or moredigital content segments 112 from a play sequence of the digital mediamessage 114. Although a variety of different controls have beendescribed above with regard to the user interface 400, it is understoodthat in further example embodiments one or more additional controls maybe presented to the user 116 by the media message engine 108. Forexample, such editing controls 418 may further comprise any audio,video, image, or other editing tools known in the art. In some examples,at least one of the controls described herein may be configured tomodify a first digital content segment 112 before a second, third, orother additional digital content segment 112 is received by the mediamessage engine 108.

The user interface 400 may also include a message bar 420 configured toprovide guidance to the user 116 before, during, and/or after generationof the digital media message 114. For example, the message bar 420 mayprovide instructions to the user 116 and/or other guidance related touse of one or more of the controls described above, next steps to betaken in order to generate the digital media message 114, the completionstatus of the digital media message 114, and/or other information. Asshown in FIG. 4, in example embodiments the message bar 420 may bedisposed between the first portion 404 and the second portion 408.Alternatively, in further example embodiments the message bar 420 may bedisposed above the first portion 404, below the second portion 408,and/or at any other position on the user interface 400. In an exampleembodiment, the message bar 420 may instruct the user 116 to touch andhold, for example, the first portion 404 or the second portion 408 inorder to begin generating a digital media message 114.

FIG. 5 illustrates another example user interface 500 of the presentdisclosure. In example embodiments, the media message engine 108 mayprovide such an example user interface 500 during the process ofgenerating a digital media message 114 and, for example, after at leastone digital content segment 112 has been received by the media messageengine 108 via the electronic device 104. For example, the userinterface 500 may include visual indicia of a play sequence 502associated with the digital media message 114 that is currently beinggenerated. Such visual indicia may include a first portion correspondingto a first digital content segment 112 received by the media messageengine 108, and at least one additional portion corresponding to arespective additional digital content segment 112 received by the mediamessage engine 108.

In some examples, the visual indicia of the play sequence 502 mayinclude one or more thumbnails 504 illustrating and/or otherwiseindicative of respective digital content segments 112 that havepreviously been added to and/or otherwise associated with the digitalmedia message 114. In example embodiments, the visual indicia of theplay sequence 502 may include various thumbnails 504 provided in thesequential order in which each respective content segment 112 has beenreceived by the media message engine 108. For example, digital contentsegments 112 received earlier in time during the generation of a digitalmedia message 114 may be represented by respective thumbnails 504disposed further to the left-hand side of the display 402 thanadditional thumbnails 504 representing respective digital contentsegments 112 received relatively later in time. Further, in exampleembodiments each respective thumbnail 504 may illustrate one or morescenes from a video, a representation of a photo or image, and/or anyother visual representation of the respective digital content segment112 to which the thumbnail 504 corresponds. In this way, the thumbnails504 provided as part of the visual indicia of the play sequence 502 mayassist the user 116 in recalling the content and/or general flow of thedigital media message 114 during creation thereof. The example thumbnail504 illustrated in FIG. 5 is representative of, for example, the image406 described above with respect to FIG. 4. In such an example, a video,photo, image, or other such content associated with a digital contentsegment 112 received via the user interface 400 of FIG. 4 may, forexample, be associated with a first position in the play sequenceassociated with the user interface 500 of FIG. 5.

The user interface 500 may also include one or more controls associatedwith the visual indicia of the play sequence 502. For example, suchcontrols may include a play control 506. In example embodiments, theplay control 506 may be configured to play, display, and/or otherwiseprovide a preview of the digital media message 114 to the user via, forexample, the first portion 404 of the display 402. In such embodiments,the media message engine 108 may play one or more portions of thedigital media message 114 currently being generated in response toreceiving a touch input and/or other input via the play control 506. Insome embodiments, further functionality may be provided to the user 116via the play control 506 and/or via one or more additional controlsassociated with the play control 506.

For example, the play control 506 and/or other associated controls mayenable the user 116 to increase or decrease the speed at which thepreview of the digital media message 114 is provided. The play control506 and/or other associated controls may also enable the user 116 toskip between multiple digital content segments 112 associated with thecorresponding play sequence. Additionally, the play control 506 and/orother associated controls may enable the user 116 to pause the previewof the digital media message 114. In examples in which suchfunctionality is provided via the play control 506, such functionalitymay be accessed via multiple taps, multiple touches, or other gesturessuch as swipe gestures, and the like received via the first portion 404.Alternatively, in examples in which such functionality is provided viaone or more additional play controls, such additional play controls maybe rendered, displayed, and/or otherwise provided via the display 402 ata location, for example, proximate the play control 506.

As shown in FIG. 5, in some examples the media message engine 108 mayprovide an image 508 to the user 116 via the first portion 404. In suchexamples, the image 508 may correspond to one or more of the thumbnails410 shown in the second portion 408. For example, in some embodimentsthe user 116 may select a thumbnail 410 of the second portion 408 bytouching and/or holding the desired thumbnail 410 with the hand 422 ofthe user 116. When such a thumbnail 410 is selected in this way, animage 508 corresponding to the selected thumbnail 410 may be displayedin the first portion 404. For example, the media message engine 108 mayreceive at least one digital content segment 112 in response toselection of one or more such thumbnails 410 by the user 116. In exampleembodiments, when one or more of the thumbnails 410 is selected in thisway, the media message engine 108 may not only receive a first digitalcontent segment 112 comprising a photo, video, image, and/or othercontent corresponding to the selected thumbnail 410, but may alsoreceive a different additional content segment 112 while the surfaceand/or portion of the display 402 corresponding to the thumbnail 410 iscontacted by the hand 422 of the user 116.

For example, in such embodiments the additional digital content segment112 may comprise audio or other like input captured by a microphone orother user interface device 314 of the electronic device 104 while thesurface and/or portion of the display 402 corresponding to the thumbnail410 is contacted by the hand 422 of the user 116. In such embodiments,both of the respective digital content segments may be added to the playsequence of the digital media message 114 such that the respectivedigital content segments 112 are presented simultaneously when thedigital media message 114 is played. As shown in FIG. 5, the image 508may correspond to the thumbnail 410(2) currently being contacted by thehand 422 of the user 116.

FIG. 6 illustrates a further user interface 600 provided by the mediamessage engine 108. In example embodiments, the media message engine 108may provide such an example user interface 600 during the process ofgenerating a digital media message 114 and, for example, after aplurality of digital content segments 112 have been received by themedia message engine 108 via the electronic device 104. For example, theuser interface 600 may include visual indicia of the play sequence 502that includes the thumbnail 504 described above with respect to FIG. 5,as well as a thumbnail 602 illustrating and/or otherwise indicative of adigital content segment 112 associated with the image 508 describedabove with respect to FIG. 5.

As noted above, the various thumbnails 504, 602 included in the visualindicia of the play sequence 502 may be provided in the sequential orderin which each respective content segment 112 has been received by themedia message engine 108. For example, the thumbnail 504 is disposedfurther to the left-hand side of the display 402 than the thumbnail 602,thereby indicating that a digital content segments 112 corresponding tothe thumbnail 504 was received earlier in time than a digital contentsegment 112 corresponding to the thumbnail 602.

As shown in FIG. 6, in some examples the media message engine 108 mayprovide an image 604 to the user 116 via the first portion 404. In suchexamples, the image 604 may correspond to one or more of the thumbnails410 shown in the second portion 408. For example, in the embodiment ofFIG. 6 the user 116 may select a thumbnail 410(3) of the second portion408 by touching and/or holding a section and/or surface of the display402 associated with the desired thumbnail 410(3). As described abovewith respect to FIG. 5, when such a thumbnail 410(3) is selected by theuser 116 in this way, the image 604 corresponding to the selectedthumbnail 410(3) may be displayed in the first portion 404.

For example, the media message engine 108 may receive at least onedigital content segment 112 in response to selection of one or more suchthumbnails 410(3) by the user 116. In example embodiments, when thethumbnails 410(3) is selected in this way, the media message engine 108may not only receive a first digital content segment 112 comprising aphoto, video, image, and/or other content corresponding to the selectedthumbnail 410(3), but may also receive a different second contentsegment 112 while the surface and/or portion of the display 402corresponding to the thumbnail 410(3) is contacted by the hand 422 ofthe user 116. For example, in such embodiments the second digitalcontent segment 112 may comprise audio or other like input captured by amicrophone or other user interface device 314 of the electronic device104 while the surface and/or portion of the display 402 corresponding tothe thumbnail 410(3) is contacted by the hand 422 of the user 116. Insuch embodiments, receiving such first and second content segments 112may cause, for example, the media message engine 108 or other componentsof the electronic device 104 to store at least one of the first andsecond content segments 112 in the memory 304 and/or in the memory 204of the server 102. In some embodiments, the first digital contentsegment 112 may be stored separately from the second digital contentsegment 112. Additionally, the first and second digital content segments112 may be added to the play sequence of the digital media message 114such that the respective digital content segments 112 are presentedsimultaneously when the digital media message 114 is played.

In particular, in example embodiments in which the first digital contentsegment 112 comprises a photo, video, image, audio, and/or other contentcorresponding to the selected thumbnail 410(3), and a second digitalcontent segment 112 comprises an audio segment, a video segment, orother like input captured by a user interface device 314 of theelectronic device 104 while the surface and/or portion of the display402 corresponding to the thumbnail 410(3) is contacted by the hand 422,the media message engine 108 may combine such first and second digitalcontent segments 112. By combining such digital content segments, thesecond digital content segment 112 (e.g., an audio segment or a videosegment) may be presented simultaneously with the first digital contentsegment 112 (e.g., a photo, video, image, audio, or other content) whenthe digital media message 114 is played. Combining digital contentsegments 112 in this way may include generating a combined segment thatis configured such that, for example, audio from the second contentsegment 112 described above is presented simultaneously with at leastone of a photo, video, image, audio, or other content of the firstcontent segment 112 when a portion of the digital media message 114corresponding to the combined segment is played. In such examples, themedia message engine 108 may associate the combined segment with anyposition in the play sequence desired by the user 116.

Further, the user interface 600 may also include one or more controlsconfigured to enable the user 116 to share the digital media message 114with other users, such as users 120 of remote electronic devices 118.For example, the user interface 600 may include one or more sharecontrols 606. In example embodiments, when one or more such sharecontrols 606 is actuated by the user 116, the media message engine 108may provide, such as via the display 402, a plurality of additionalcontrols configured to assist the user 116 in providing the digitalmedia message 114 for sharing with a remote electronic device 118. Suchadditional controls will be described in greater detail below.

FIG. 7 illustrates yet another example user interface 700 of the presentdisclosure. In example embodiments, the media message engine 108 mayprovide such an example user interface 700 during the process ofgenerating a digital media message 114 and, for example, after a finaldigital content segment 112 has been received by the media messageengine 108 via the electronic device 104. For example, the userinterface 700 may include visual indicia of the play sequence 502 thatincludes the thumbnails described above with respect to FIGS. 5 and 6,as well as a thumbnail 702 illustrating and/or otherwise indicative of adigital content segment 112 associated with the image 604.

The user interface 700 may also include an image 704, and the image 704may be one or more images, photos, or first frames of a video stored inthe memory 304 of the electronic device 104. Alternatively, the contentdisplay module 308 may present one or more images 704 in the firstportion 404 that are obtained in real time via, for example, a camera orother user interface device 314 of the electronic device 104. Forexample, the first portion 404 may provide an image 704 of objects thatare within a field of view of the camera.

In some embodiments, the media message engine 108 may receive an input,such as a touch input, indicative of selection of the control 606 by theuser 116. In response to receiving such an input, the media messageengine 108 may provide the example user interface 800 illustrated inFIG. 8. Such an example user interface 800 may include, among otherthings, a message thumbnail 801 indicating and/or otherwise identifyingthe digital media message 114 that the user 116 desires to share. Inexample embodiments, such a message thumbnail 801 may be similar to oneor more of the thumbnails 504, 602, 702 described above. In someexamples, however, the message thumbnail 801 may be larger than one ormore of the thumbnails 504, 602, 702, and/or may have one or more visualcharacteristics (e.g., highlighting, shading, a label, a frame, etc.)configured to make it easier for the user 116 to distinguish the messagethumbnail 801 from one or more of the thumbnails 504, 602, 702. Inexample embodiments, the message thumbnail 801 may comprise, forexample, a first frame and/or any other image or content indicative ofthe digital media message 114 being generated by the user 116.

Such an example user interface 800 may also include a plurality ofcontrols configured to assist the user 116 in providing the digitalmedia message 114 for sharing with, for example, a remote electronicdevice 118, such as via the network 106. For example, one or more of thecontrols 802 may enable the user 116 to add a title, a name, and/orother identifier to the media message 114 such that the media message114 may be easily recognizable and/or identifiable by one or more users120 of the remote electronic device 118. In some examples, the titleand/or other identifier added to the media message 114 may be providedto the user 120 simultaneously and/or otherwise in conjunction with thedigital media message 114 when the user 120 consumes at least a portionof the digital media message 114 on the remote electronic device 118.

In addition, the user interface 800 may include one or more controls804, 806 configured to enable the user 116 to privatize the digitalmedia message 114 prior to providing the digital media message 114 forsharing with a remote electronic device 118. For example, one or moresuch controls 804 may enable the user 116 to encrypt and/or otherwiseconfigure the digital media message 114 such that only an approved user120 or plurality of users 120 may receive and/or access the digitalmedia message 114. In example embodiments, the media message engine 108may receive an input, such as a touch input, indicative of selection ofthe control 804 by the user 116. In response to receiving such an input,the media message engine 108 may enable the user 116 to browse, forexample, an address book or other like directory stored in the memory304 of the electronic device 104 and/or in the memory 204 of the server102. Upon browsing such a directory, the user 116 may select one or morecontacts approved by the user 116 to have access to the digital mediamessage 114. Additionally or alternatively, in response to receivingsuch an input, the media message engine 108 may enable the user 116 topassword protect and/or otherwise encrypt the digital media message 114prior to sharing. In any of the example embodiments described herein,one or more of the controls 806 may comprise a slide bar and/or otherlike icon indicating whether the user 116 has privatized the digitalmedia message 114. For example, such a control 806 may change color,transition between a “no” indication and a “yes” indication, and/or mayotherwise provide a visual indication of the privacy status/level of thedigital media message 114.

The user interface 800 may also include one or more controls 808configured to enable the user 116 to select one or more means ofproviding the digital media message 114 for sharing with a remoteelectronic device 118. For example, one or more such controls 808 mayenable the user 116 to select from a plurality of common social mediawebsites and/or other portals useful in sharing the digital mediamessage 114. In such example embodiments, the media message engine 108may receive an input, such as a touch input, indicative of selection ofthe control 808 by the user 116. In response to receiving such an input,the media message engine 108 may enable the user 116 to access anexisting account on the selected social media portal. Once such anaccount has been accessed, the media message engine 108 may provide thedigital media message 114 to the selected social media portal forsharing with remote users 120 via the selected portal.

One or more such controls 808 may also enable the user 116 to selectbetween email, text messaging (SMS), instant messaging, and/or otherlike means for sharing the digital media message 114. In such exampleembodiments, the media message engine 108 may receive an input, such asa touch input, indicative of selection of the control 808 by the user116. In response to receiving such an input, the media message engine108 may enable the user 116 to browse, for example, an address book orother like directory stored in the memory 304 of the electronic device104 and/or in the memory 204 of the server 102. Upon browsing such adirectory, the user 116 may select one or more contacts with which theuser 116 desires to share the digital media message 114. Upon selectingsuch contacts, the user 116 may provide the digital media message 114 tothe selected users by providing an input, such as a touch input,indicative of selection of a share control 810.

Illustrative Methods

FIG. 9 shows an example method 900 associated with generating andsharing a digital media message 114. The example method 900 isillustrated as a collection of steps in a logical flow diagram, whichrepresents operations that can be implemented in hardware, software, ora combination thereof. In the context of software, the steps representcomputer-executable instructions stored in memory. When suchinstructions are executed by one or more processors, such instructionsmay cause the processor, various components of the electronic device,and/or the electronic device, generally, to perform the recitedoperations. Such computer-executable instructions may include routines,programs, objects, components, data structures, and the like thatperform particular functions or implement particular abstract datatypes. The order in which the operations are described is not intendedto be construed as a limitation, and any number of the described stepscan be combined in any order and/or in parallel to implement theprocess. For discussion purposes, and unless otherwise specified, themethod 900 is described with reference to the environment 100 of FIG. 1.

At block 902, the electronic device 104 may receive an input from theuser 116 of the electronic device 104. In some examples, such an inputmay be a touch input, a touch and hold input, a swipe, a drag, a voicecommand, and/or any other input described herein. For example, at block902 the media message engine 108 may receive a touch and hold input viathe touch-sensitive display 402 of the electronic device 104. In suchembodiments, the input received at block 902 may indicate selection ofand/or may otherwise correspond to an image, a video, an audio segment,and/or any other digital content segment 112(1) stored in the memory 304of the electronic device 104 and/or in the memory 204 of the servercomputer 102. For example, as described above with respect to at leastFIGS. 4-7, and as further illustrated by FIGS. 10 and 11, in someexamples the electronic device 104 may display a plurality of thumbnails410 on the display 402. In such examples, the user 116 may provide atouch and hold input via one or more of the thumbnails 410 (e.g.,thumbnail 410(1), as shown in FIG. 10), and such an input may indicatethat the user 116 has selected the digital image corresponding to theparticular thumbnail 410(1) for inclusion in a digital media message114. In such examples, the selected digital image (e.g., a first digitalcontent segment 112(1)) may be stored in the memory 304 of theelectronic device 104 and/or in the memory 204, and visual indicia of aplay sequence 502 associated with the digital media message 114 beinggenerated may be displayed on the display 402. Further, the inputdescribed with respect to block 902 may be received via the location onthe display 402 at which the thumbnail 410(1) is being displayed.

In some embodiments, receiving the input at block 902 may cause theelectronic device 104 to capture a video segment, audio segment, photo,digital image, or other such digital content segment (e.g., a seconddigital content segment 112(2)) using one or more of the user interfacedevices 314. For example, at block 904, the processor 302 may cause amicrophone, digital camera, and/or other user interface 314 of theelectronic device 104 to capture a digital content segment 112(2) inresponse to the input received at block 902. In such an example, themedia message engine 108 may cause the captured digital content segment112(2) to be stored in the memory 304 and/or the memory 204 of theserver 102 for future use. Examples in which at least one of the digitalcontent segments 112(1), 112(2) are transferred to the server 102 forstorage in the memory 204 will be described below with respect to block910. It is understood, however, that in still further exampleembodiments, each digital content segment 112 used to generate thedigital media message 114 may be stored in the memory 204 of the server102. In such examples, the first and second digital content segments112(1), 112(2) may not be provided to the server computer 102 at block904. Instead, the user 116 of the electronic device 104 may access thefirst and second digital content segments 112(1), 112(2) on the server102, via the network 106, and may select one or more of the digitalcontent segments 112(1), 112(2) for use in generating the digital mediamessage 114 using the electronic device 104.

As shown schematically in FIGS. 10 and 11, the first and second digitalcontent segments 112(1), 112(2) may comprise respective portions of aclip of the digital media message 114 being generated. In particular,the digital media message 114 may comprise one or more clips 1000(1),1000(2), . . . 1000(N) (collectively, “clips 1000”), and each clip 1000of the digital media message 114 may comprise one of more frames.Further, as shown in FIGS. 10 and 11, the digital media message 114 maycomprise an audio track 1002 and a corresponding video track 1004. Thus,in such embodiments, each clip 1000 may make up a respective sequentialportion of the audio and video tracks 1002, 1004. In the example shownin FIG. 10, in the first clip 1000(1) of the digital media message 114,the digital content segment 112(1) (e.g., a digital image) may make upeach frame of the video track 1004 and the corresponding digital contentsegment 112(2) (e.g., an audio segment) may make up each frame of theaudio track 1002. It is understood that using the digital image 112(1)to make up each frame of a video track 1004 may reduce the device and/orserver memory required for storing the video track 1004, the networkbandwidth required to transfer the video track 1004, and/or other deviceresource requirements relative to comparable video tracks 1004comprising actual video footage. As a result, using the digital image112(1) to make up each frame of the video track 1004 may reduce theoverall size of the resulting digital media message 114, thus reducingthe network bandwidth required to transfer the digital media message 114and reducing the memory, processor resources, and/or other server ordevice resources needed to render the digital media message 114.

As illustrated in FIG. 11, in example embodiments in which a digitalmedia message 114 comprises more than one clip (e.g., first and secondclips 1000(1), 1000(2)), the various clips 1000 may comprise any of avariety of formats. For example, such clips 1000 may be made from audiosegments, video segments, digital images, and/or any of the other typesof digital content segments 112 described herein. In the example shownin FIG. 11, the digital media message 114 being created comprises afirst clip 1000(1) in which the audio track 1002 comprises an audiosegment 112(2) and in which the video track 1004 comprises a digitalimage segment 112(1). The digital media message 114 also includes asecond clip 1000(2) comprising a digital video. In such examples, thevideo track 1004 of the digital media message 114 corresponding to thesecond clip 1000(2) may comprise a video segment 112(3) of the digitalvideo, and the audio track 1002 of the digital media message 114corresponding to the second clip 1000(2) may comprise an audio segment112(4) of the digital video.

At block 906, the electronic device 104 may generate an identifier thatis unique to the digital content segment 112(1) described above withrespect to block 902. For example, the media message engine 108 maycause the processor 302 and/or other components of the electronic device104 to generate a unique series of numbers, letters, symbols, and/orother identifiers. In some examples, the identifier generated at block906 may be randomly generated by the media message engine 108, and/orother components of the electronic device 104. Additionally, at block906, the electronic device 104 may link, couple, attach, and/orotherwise associate the identifier with the digital content segment112(1) in the memory 304. For example, in embodiments in which thedigital content segment 112(1) comprises a digital file, the mediamessage engine 108 and/or the processor 302 may attach, save, embed,and/or otherwise associate the identifier with the digital contentsegment 112(1) such that the identifier becomes part of, integratedwith, and/or is otherwise carried with the digital content segment112(1). In some examples, the identifier generated at block 906 maycomprise a label and/or other like moniker by which one or morecomponents of the computing environment 100 may identify the digitalcontent segment 112(1).

At block 908, the electronic device 104 may generate an identifier thatis unique to the digital content segment 112(2) described above withrespect to block 904. For example, the media message engine 108 maycause the processor 302 and/or other components of the electronic device104 to generate a unique series of numbers, letters, symbols, and/orother identifiers. Additionally, at block 908, the electronic device 104may link, couple, attach, and/or otherwise associate the identifiergenerated at block 908 with the digital content segment 112(2). Theprocesses and/or operations performed by the media message engine 108,the processor 302, and/or other components of the electronic device 104at block 908 with respect to the digital content segment 112(2) may besimilar to and/or the same as the processes and/or operations describedabove with respect to block 906.

At block 910, the electronic device 104 may provide one or more of thedigital content segments 112(1), 112(2) described herein to the servercomputer 102 via the network 106. For example, at block 910 the mediamessage engine 108 may cause the processor 302, and/or one or morecommunication interfaces or other like hardware and/or software devicesor components of the electronic device 104 to transfer at least one ofthe digital content segments 112(1), 112(2) from the electronic device104 to the server computer 102. In such examples, it is understood thatthe identifier described above with respect to block 906 may betransferred in association with the digital content segment 112(1)(e.g., the digital image) if the digital content segment 112(1) istransferred by the electronic device 104 at block 910. Additionally, theidentifier described above with respect to block 908 may be transferredin association with the digital content segment 112(2) (e.g., the audiosegment) if the digital content segment 112(2) is transferred by theelectronic device 104 at block 910. In some examples, at least one ofthe digital content segments 112(1), 112(2) may be transferred by theelectronic device 104 to the server computer 102 substantially in realtime at block 910.

For example, in embodiments in which the digital content segment 112(2)captured at block 904 comprises an audio segment, a video segment, orother like digital segment, the electronic device 104 may begintransferring and/or otherwise transfer such a digital content segment112 to the server computer 102 as the digital content segment 112 isbeing captured.

In some examples, digital content segments 112 transferred to the servercomputer 102 by electronic device 104 may be stored in the memory 204and, over time, may form a global repository of digital content by whichthe various digital media messages 114 described herein may be formed.In such examples, the server computer 102 may protect against storingmultiple copies of the same digital content segments 112. In the memory204. For example, digital content segments 112 comprising audiosegments, video segments, and the like may typically be unique due tothe nature in which such digital content segments 112 are created at theuser level. Digital content segments 112 comprising digital images, onthe other hand, have a greater tendency to be duplicates (e.g., storedlocally on multiple electronic devices 104, 118 and/or selected for usein a digital media message 114 by multiple different users throughweb-based searches) since users tend to utilize the same clipart,publicly available images, and/or other digital images when generatingdigital media messages 114. As a result, in some embodiments the servercomputer 102 may compare the respective unique identifier associatedwith the one or more digital content segments 112 (generated at blocks906 and 908) to a plurality of identifiers stored in the memory 304. Insome examples, the electronic device 104 may provide the respectiveunique identifiers to the server computer 102 at block 910 beforeproviding the one or more digital content segments 112 at block 910.Alternatively, the electronic device 104 may provide the respectiveunique identifiers to the server computer 102 at block 910 along withthe transferred digital content segments 112. In any of the examplesdescribed herein, the server computer 102 may accept the digital contentsegment 112 for storage in the memory 304 if no match is found betweenthe unique identifier associated with the received digital contentsegment 112 and the plurality of identifiers stored in the memory 304.On the other hand, if the server computer 102 finds a match between theunique identifier associated with the received digital content segment112 and an identifier of the plurality of identifiers stored in thememory 304, the server computer may deny and/or otherwise prohibitstorage of the corresponding digital content segment 112 in the memory304 based on such a comparison and/or the resulting match. In examplesin which the electronic device 104 provides the respective uniqueidentifiers to the server computer 102 at block 910 before providing theone or more digital content segments 112, the digital content segment112 corresponding to the matched unique identifier may not be sent tothe server computer 102 based on and/or as a result of finding such amatch.

At block 912, the electronic device 104 may generate one or moreelectronic files providing a sequential clip listing associated withrendering the digital media message 114. For example, at block 912 themedia message engine 108 may cause the processor 302 and/or one or moreother components of the electronic device 104 to generate an editdecision list (hereinafter “EDL”), a text file, a data file, aspreadsheet, a gif file, a tif file, and/or other file indicating anorder in which various clips of the digital media message 114 are to berendered upon playback. FIG. 12 illustrates an example electronic file1200 of the present disclosure.

As shown in FIG. 12, an example electronic file 1200 may include a title1202 of the digital media message 114 being generated. The electronicfile 1200 may also include a time-based, frame-based, and/or otherwisesequential clip listing 1204 setting forth the content, components,and/or or other parameters of each clip 1000 in the digital mediamessage 114, and the sequential order in which each clip 1000 is to berendered. For example, as shown in FIG. 12, the clip listing 1204 mayinclude information 1206, 1208 specific to each clip 1000 of the digitalmedia message 114. The information 1206, 1208 shown in FIG. 12corresponds to the example clips 1000(1), 1000(2) described above withrespect to FIGS. 10 and 11. In such examples, such information 1206,1208 may include the content identifiers 1210, 1212 described above withrespect to blocks 906, 908. Such information 1206, 1208 may also includea first indicator 1214 identifying a first frame (e.g., a start frame)of the digital media message 114 corresponding to a digital contentsegment 112 being rendered in the respective clip. The information 1206,1208 may also include a second indicator 1216 identifying a second frame(e.g., an end frame) of the digital media message 114 corresponding to adigital content segment 112 being rendered in the respective clip. Insuch examples, the first and second identifiers 1214, 1216 may indicatethe frames of the digital media message 114 at which the correspondingdigital content segment(s) 112 is/are to start and stop, respectively.In still further examples, the information 1206, 1208 may include atleast one additional indicator 1218 identifying a volume levelcorresponding to the digital content segment 112 being rendered in therespective clip.

It is understood that the various indicators described above withrespect to the electronic file 1200 are merely examples. In furtherembodiments, the electronic files 1200 of the present disclosure mayinclude more than, less than, and/or different indicators than thosedescribed herein. Additionally, the order in which the clips 1000(1),1000(2) are set forth in the clip listing 1204 may correspond to theorder in which the digital content segments 112 are generated,organized, and/or otherwise arranged during the process of generating adigital media message 114. Such an order may correspond to, for example,the order set forth in the play sequence 502. Additionally, such anorder may be defined by the frames indicated by the identifiers 1214,1216.

It is also understood that the sequential clip listing 1204 included inthe electronic file 1200 may be made up of the various clips 1000(1),1000(2) described above, and such clips 1000(1), 1000(2) may eachcomprise respective frame groups formed from the plurality of frames tobe included in the digital media message 114. In this way, each framegroup may comprise a respective clip 1000 of the digital media message114. Further, rendering the digital media message 114 in accordance withthe sequential clip listing 1204 may cause the digital content segments12 to be rendered in accordance with the indicators 1214, 1216corresponding to each respective clip 1000. For example, when renderingthe digital media message 114 in accordance with the electronic file1200 shown in FIG. 12, in clip 1000(1) the digital content segment 112associated with the identifier 1210 will be rendered from frame 0 of thedigital media message 114 to frame 121. Likewise, in clip 1000(1) thedigital content segment 112 associated with the identifier 1212 will berendered from frame 0 of the digital media message 114 to frame 121.Accordingly, in some examples, rendering a digital media message 114 inaccordance with an electronic file 1200, such as the example electronicfile 1200 shown in FIG. 12, may cause a digital image to be presentedand/or otherwise rendered on the electronic device simultaneously withan audio segment, and/or other digital content segment 112, from a firstframe of the digital media message 114 to a second frame.

At block 914 the electronic device 104 may provide one or more of theelectronic files 1200 described herein to the server computer 102 viathe network 106. For example, at block 914 the media message engine 108may cause the processor 302, and/or one or more communication interfacesor other like hardware and/or software devices or components of theelectronic device 104 to transfer an EDL file or other like file 1200from the electronic device 104 to the server computer 102. In someexamples, the electronic file 1200 may be transferred by the electronicdevice 104 to the server computer 102 substantially in real time atblock 914. For example, in such embodiments the electronic file 1200 maybe transferred to the server computer 102 as the digital content segment112 is being generated. In some example embodiments, the electronicdevice 104 may transfer the electronic file 1200 to the server computer102 separately from at least one of the digital content segments 112transferred to the server computer 102 by electronic device 104 at block910. In such examples, at least one of the digital content segments 112may be transferred to the server computer 102 by a first signalgenerated by the electronic device 104, and electronic file 1200 may betransferred to the server computer 102 by a second signal generated bythe electronic device 104 different from the first signal. In stillfurther examples, a first digital content segment 112(1) may betransferred to the server computer 102 via a first signal generated bythe electronic device 104 and sent using the network 106, a seconddigital content segment 112(2) may be transferred to the server computer102 via a second signal generated by the electronic device 104 separatefrom the first signal and sent using the network 106, and electronicfile 1200 may be transferred to the server computer 102 via a thirdsignal generated by the electronic device 104, separate from the firstand second signals, and sent using the network 106.

In this way, the various digital content segments 112 described hereinmay be sent to the server computer 102 for storage and/or for furtheruse in generating and/or rendering a digital media message 114, and thedigital content segments 112 may be provided to the server computer 102bearing no association with the respective electronic device 104. Insome examples, the only information linking the digital content segments112 provided to the server computer 102 at block 910 with the digitalmedia message 114 being generated by a user 116 of the electronic device104 may be the electronic file 1200 identifying the digital contentsegments 112 by their respective unique identifiers 1210, 1212.Accordingly, in some examples the digital content segments 112 providedto the server computer 102 at block 910 may be stored in a firstdatabase, data store, division, and/or other first portion of the memory204, and the electronic file 1200 provided to the server computer 102 atblock 914 may be stored in a second database, data store, division,and/or other second portion of the memory 204 different from the firstportion. In some examples, the electronic file 1200 may be stored in thesecond portion of the memory 204 in association with a telephone number,serial number, id number, and/or other like indicator uniquelyidentifying an electronic device 118 of an intended recipient of thedigital media message 114.

At block 916 the electronic device 104 may provide instructions to theserver computer 102 via the network 106. For example, at block 916 themedia message engine 108 may cause the processor 302, and/or one or morecommunication interfaces or other like hardware and/or software devicesor components of the electronic device 104 to generate and send a signalcomprising instructions to share the digital media message 114 with asecond electronic device 118 different from the electronic device 104via the network 106. In such examples, the instructions may include atelephone number, serial number, id number, and/or other like indicatoruniquely identifying the electronic device 118, and the electronicdevice 118 may belong to an intended recipient of the digital mediamessage 114.

In any of the example embodiments described herein, the server computer102 may generate one or more additional electronic files using thevarious digital content segments 112 provided by the electronic device104 at block 910. One or more such additional electronic files may alsobe generated by the server computer 102 based on the electronic file1200 provided by the electronic device 104 at block 914. The servercomputer 102 may generate one or more such additional electronic filesin response to receiving the instructions provided at block 916 or inresponse to receiving the electronic file 1200 at block 914.

For example, the server computer 102 may generate a first additionalelectronic file comprising a plurality of frame groups formed from atleast one of the digital content segments 112 provided by the electronicdevice 104 at block 910. In such examples, the first additionalelectronic file may comprise a plurality of frames of the digital mediamessage 114, and may be optimized by the server computer 102 for thepurpose of streaming the digital media message 114 from the servercomputer 102 to an additional electronic device 118 via the network 106.For example, in generating such a first additional electronic file, theserver computer 102 may break up one or more of the clips 1000identified by the electronic file 1200 into frame groups. In suchexamples, the frame groups may be subgroups of frames that, together,make up the one or more clips 1000 of the digital media message 114. Theserver computer 102 may then remove digital content from each of theframe groups (such as from the audio track 1002, the video track 1004,etc.) and/or may otherwise modify the quality and/or fidelity level ofthe individual frames within each of the frame groups. In some examples,one or more entire frames may be removed from one or more of the framegroups. As a result, the various different frame groups formed by theserver computer 102 may have a different respective quality levels. Forexample, a first frame group formed by the server computer 102 may havea first level of fidelity, and a second frame group formed by the servercomputer 102 may have a second level of fidelity different from thefirst level of fidelity. This difference in the level of fidelity may,in some instances, be perceptible when the resulting digital mediamessage (i.e., the first additional electronic file) is streamed and/orotherwise rendered.

Additionally or alternatively, the server computer 102 may generate asecond additional electronic file that is optimized for uploading by theserver computer 102 to an additional electronic device 118 and/or fordownloading by the electronic device 118. In such examples, the secondadditional electronic file may comprise digitally compressed and/orotherwise modified version of one or more frames of the plurality offrames making up the digital media message 114. Accordingly, ingenerating such an additional electronic file, the server computer 102may compress the various frames of digital media message 114 identifiedby the electronic file 1200. Processing and/or handling such an examplesecond additional electronic file may require less network bandwidth,fewer processor resources, and/or reduced memory storage space relativeto a corresponding digital media message 114, rendered using the digitalcontent segments 112 provided by the electronic device 104 at block 910.

Moreover, in any of the example embodiments described herein, theinstructions provided at block 916 may cause the server computer 102generate and/or provide a signal to the electronic device 118 via thenetwork 106, and using the indicator uniquely identifying the electronicdevice 118. In such examples, the signal generated by the servercomputer 102 may be provided to the electronic device 118 via at leastone of a text message, an email, and/or a website, such as a socialmedia website. Additionally, in such examples, the signal provided bythe server computer 102 may include a request for permission associatedwith sharing the digital media message 114. For example, such a signalmay request that a user 120 of the electronic device 118 providepermission to the server computer 102 for sharing the digital mediamessage 114.

In some examples, in response to requesting permission associated withsharing the digital media message 114, the server computer 102 mayreceive additional instructions from the electronic device 118 via thenetwork 106. For example, in response to receiving the signal providedby the server computer 102, the user 120 of the electronic device 118may grant permission to the server computer 102 to share the mediamessage 114. In such examples, in response to receiving such additionalinstructions and/or such permission from the electronic device 118, theserver computer 102 may stream the first additional electronic filedescribed above, via the network 106. In such examples, the user 120 mayview the digital media message 114 without downloading and/or otherwisereceiving the digital content segments 112 utilized to render thedigital media message 114. Additionally or alternatively, in response toreceiving such additional instructions and/or such permission from theelectronic device 118, the server computer 102 may transfer the secondadditional electronic file described above to the electronic device 118via the network 106. In such examples, the server computer 102 mayupload the compressed versions of the digital content segments 112 tothe electronic device 118 for local rendering and/or viewing on theelectronic device 118.

FIG. 13 illustrates another an example method 1300 associated withgenerating and sharing a digital media message 114. Similar to themethod 900, the example method 1300 is illustrated as a collection ofsteps in a logical flow diagram, which represents operations that can beimplemented in hardware, software, or a combination thereof. In thecontext of software, the steps represent computer-executableinstructions stored in memory. When such instructions are executed byone or more processors, such instructions may cause the processor,various components of a server computer, and/or the server computer,generally, to perform the recited operations. Such computer-executableinstructions may include routines, programs, objects, components, datastructures, and the like that perform particular functions or implementparticular abstract data types. The order in which the operations aredescribed is not intended to be construed as a limitation, and anynumber of the described steps can be combined in any order and/or inparallel to implement the process. For discussion purposes, and unlessotherwise specified, the method 1300 is described with reference to theenvironment 100 of FIG. 1 and, in particular, with the server computer102.

At block 1302, the server computer 102 may receive various digitalcontent and corresponding unique identifiers from one or more electronicdevices 104, and via the network 106. For example, as described abovewith respect to FIG. 9, the electronic device 104 may receive an inputindicating selection of and/or may otherwise corresponding to an image,a video, an audio segment, and/or any other digital content segment112(1) stored in the memory 304 of the electronic device 104. Forexample, a user 116 may provide a touch and hold input via the display402 and such an input may indicate that the user 116 has selected adigital image corresponding to a particular thumbnail 410(1) forinclusion in a digital media message 114. Additionally, receiving suchan input may cause the electronic device 104 to capture a video segment,audio segment, photo, digital image, or other such digital contentsegment (e.g., a second digital content segment 112(2)) using one ormore of the user interface devices 314. For example, the processor 302may cause a microphone, digital camera, and/or other user interface 314of the electronic device 104 to capture a digital content segment 112(2)in response to the input described above.

Moreover, as described with respect to FIG. 9 the electronic device 104may generate a first identifier that is unique to the digital contentsegment 112(1) and a second identifier that is unique to the digitalcontent segment 112(2). For example, the media message engine 108 maycause the processor 302 and/or other components of the electronic device104 to generate a unique series of numbers, letters, symbols, and/orother identifiers 1210, 1212. Additionally, the electronic device 104may link, couple, attach, and/or otherwise associate the firstidentifier 1210 with the digital content segment 112(1) in the memory304. The electronic device 104 may also link, couple, attach, and/orotherwise associate the second identifier 1212 with the digital contentsegment 112(2) in the memory 304.

Further, the electronic device 104 may provide one or more of thedigital content segments 112(1), 112(2) described herein to the servercomputer 102 via the network 106. For example, the media message engine108 may cause the processor 302, and/or one or more communicationinterfaces or other like hardware and/or software devices or componentsof the electronic device 104 to transfer at least one of the digitalcontent segments 112(1), 112(2) from the electronic device 104 to theserver computer 102. Additionally, the first identifier 1210 may betransferred in association with the digital content segment 112(1)(e.g., the digital image) when the digital content segment 112(1) istransferred by the electronic device 104 to the server computer 102, andthe second identifier 1212 may be transferred in association with thedigital content segment 112(2) (e.g., the audio segment) when thedigital content segment 112(2) is transferred by the electronic device104 to the server computer 102. Accordingly, at block 1302 the servercomputer 102 may receive the digital content segments 112(1), 112(2) andidentifiers 1210, 1212 described above.

At block 1304 the server computer 102 may receive an electronic file1200 from the electronic device 104, via the network 106. For example,as noted above the electronic device 104 may generate one or moreelectronic files 1200 providing a sequential clip listing associatedwith rendering the digital media message 114. An example electronic file1200 may include a title 1202 of the digital media message 114 beinggenerated. The electronic file 1200 may also include a time-based,frame-based, and/or otherwise sequential clip listing 1204 setting forththe content, components, and/or or other parameters of each clip 1000 inthe digital media message 114, and the sequential order in which eachclip 1000 is to be rendered. The electronic file 1200 may furtherinclude the content identifiers 1210, 1212 described above, a firstindicator 1214 identifying a first frame (e.g., a start frame) of thedigital media message 114 corresponding to a digital content segment 112being rendered in the respective clip, and a second indicator 1216identifying a second frame (e.g., an end frame) of the digital mediamessage 114 corresponding to a digital content segment 112 beingrendered in the respective clip. The electronic file 1200 may alsoinclude at least one additional indicator 1218 identifying a volumelevel corresponding to the digital content segment 112 being rendered ina respective clip 1000. The electronic device 104 may transfer such anelectronic file 1200 to the server computer 102, and the server computer102 may receive the electronic file 1200 at block 1304.

At block 1306 the server computer 102 may receive instructions from theelectronic device 104 via the network 106 to share the digital mediamessage with an additional electronic device 118 via the network 106.Such instructions may include, for example, a third indicator (e.g., atelephone number, serial number, id number, and/or other like indicator)uniquely identifying the electronic device 118. For example, as notedabove the media message engine 108 may cause the processor 302, and/orone or more communication interfaces or other like hardware and/orsoftware devices or components of the electronic device 104 to generateand send an instruction signal to the server computer 102 via thenetwork 106. The server computer 102 may receive such a signal at block1306.

At block 1308 the server computer 102 may generate one or moreadditional electronic files using the various digital content segments112 received from the electronic device 104. One or more such additionalelectronic files may also be generated by the server computer 102 basedon the electronic file 1200 received from the electronic device 104. Theserver computer 102 may generate one or more such additional electronicfiles in response to receiving the instructions or in response toreceiving the electronic file 1200.

For example, at block 1308 the server computer 102 may generate a firstadditional electronic file comprising a plurality of frame groups formedfrom at least one of the digital content segments 112 provided by theelectronic device 104 at block 910. In such examples, the firstadditional electronic file may comprise a plurality of frames of thedigital media message 114, and may be optimized by the server computer102 for the purpose of streaming the digital media message 114 from theserver computer 102 to the electronic device 118 via the network 106.For example, in generating such a first additional electronic file, theserver computer 102 may break up one or more of the clips 1000identified by the electronic file 1200 into frame groups. As notedabove, the various different frame groups formed by the server computer102 at block 1308 may have a different respective quality levels. Forexample, a first frame group formed by the server computer 102 may havea first level of fidelity, and a second frame group formed by the servercomputer 102 may have a second level of fidelity different from thefirst level of fidelity.

Additionally or alternatively, at block 1308 the server computer 102 maygenerate a second additional electronic file that is optimized foruploading by the server computer 102 to the electronic device 118 and/orfor downloading by the electronic device 118. In such examples, thesecond additional electronic file may comprise digitally compressedand/or otherwise modified version of one or more frames of the pluralityof frames making up the digital media message 114.

At block 1310 the server computer 102 may generate one or more signalsand may provide one or more such signals to the electronic device 118via at least one of a text message, an email, and/or a website, such asa social media website. Additionally, in such examples, the signalprovided by the server computer 102 may include a request for permissionassociated with sharing the digital media message 114. For example, sucha signal may request that a user 120 of the electronic device 118provide permission to the server computer 102 for sharing the digitalmedia message 114.

In response to requesting permission associated with sharing the digitalmedia message 114, the server computer 102 may, at block 1312, receiveadditional instructions from the electronic device 118 via the network106. For example, in response to receiving the signal provided by theserver computer 102, the user 120 of the electronic device 118 may grantpermission to the server computer 102 to share the media message 114. Insuch examples, in response to receiving such additional instructionsand/or such permission from the electronic device 118, the servercomputer 102 may, at block 1314, stream the first additional electronicfile described above, via the network 106. In such examples, the user120 may view the digital media message 114 without downloading and/orotherwise receiving the digital content segments 112 utilized to renderthe digital media message 114.

Additionally or alternatively, in response to receiving such additionalinstructions and/or such permission from the electronic device 118, theserver computer 102 may, at block 1316, transfer the second additionalelectronic file described above to the electronic device 118 via thenetwork 106. In such examples, the server computer 102 may upload thecompressed versions of the digital content segments 112 to theelectronic device 118 for local rendering and/or viewing on theelectronic device 118.

In some examples, embodiments of the present disclosure may enable auser 120 of the electronic device 118 to edit, alter, and/or otherwisemodify a digital media message 114 generated by the user 116 of thedevice 104. For example, in embodiments in which the second additionalelectronic file is transferred to the electronic device 118 at block1316, the electronic device 118 may render the digital media message 114corresponding to the second additional electronic file locally. The user120 may then add content, delete content, reorder content, and/orotherwise modify the digital media message 114 locally on the electronicdevice 118. Additionally or alternatively, the server computer 102 maytransfer the master content (e.g. the original/native digital contentsegments 112 used to generate the digital media message 114) to theelectronic device 118 for rendering and/or modification. In any of theexample embodiments described herein, the electronic device 118 maygenerate a second electronic file similar to the electronic file 1200described above with respect to FIG. 12. For example, such a secondelectronic file may comprise an additional EDL file, text file, datafile, and/or other like file, and may include a time-based, frame-based,and/or otherwise sequential clip listing setting forth the content,components, and/or or other parameters of each clip in the modifieddigital media message, and the sequential order in which each clip is tobe rendered. Electronic device 118 may transfer the second electronicfile to the server computer 102 via the network 106. Upon receiving thesecond electronic file from the electronic device 118, the servercomputer 102 may store the second electronic file with the firstelectronic file 1200 in the memory 204. In this way, the server computermay preserve various editing decisions over time, by saving various EDLsgenerated by multiple users 116, 120.

FIG. 14 illustrates an example user interface 1400 of the presentdisclosure configured to assist the user 120 in modifying a digitalmedia message 114 rendered on the electronic device 118. In exampleembodiments, the user interface 1400 may include one or more controlsconfigured to assist the user 120 in making further modifications to oneor more of the digital content segments 112, the play sequence, and/orother components of the digital media message 114. For example, the userinterface 1400 may include a control 1402 configured to enable the user120 to add one or more images, videos, photos, audio clips, and/or othercontent to the digital media message 114. In example embodiments, themedia message engine 108 may receive an input, such as a touch input,indicative of selection of the control 1402 by the user 120. In responseto receiving such an input, the media message engine 108 may enable theuser 120 to browse various photos, images, videos, and/or other contentstored in the memory 304 and/or in the memory 204 of the server 102.Additionally and/or alternatively, in response to receiving such aninput, the media message engine 108 may enable the user 120 to perform aweb-based search, such as via one or more search engines or applicationsof the electronic device 118, for such content. The user 120 may bepermitted to select one or more such content items for use. Uponselection of such a content item, the media message engine 108 may addthe selected item to the play sequence of the digital media message 114and/or may combine the selected item with one or more content segments112 of the digital media message 114. Additionally, the user interface1400 may include one or more controls 1404 configured to enable the user120 to delete one or more audio clips, video clips, segments, files,and/or other content from the digital media message 114.

The user interface 1400 may further include one or more controls 1406configured to enable the user 120 to modify one or more of the digitalcontent segments 112, the play sequence, and/or other components of thedigital media message 114. Such controls 1406 may comprise, among otherthings, any audio, video, image, or other editing tools known in theart. In example embodiments, such controls 1406 may provide editingfunctionality enabling the user 120 to move, modify, augment, cut,paste, copy, save, or otherwise alter portions of each digital contentsegment 112 as part of generating a digital media message 114.Additionally, the control 1406 may enable the user 120 to cut, paste,draw, rotate, flip, shade, color, fade, darken, and/or otherwise modifyvarious aspects of the digital media message 114 and/or various digitalcontent segments 112 included in the play sequence thereof. In someembodiments, at least one of the controls 1402, 1404, 1406 may besimilar to and/or the same as one or more of the controls 418 describedabove. The user interface 1400 may also include one or more navigationcontrols 1408 configured to enable the user 120 to save the modifieddigital media message 114 locally and/or at the server computer 102. Inaddition, the user interface 1400 or other user interfaces describedherein may provide one or more additional controls operable to enablethe user 120 of the device 118 to observe the creation of a digitalmedia message 114 (by another user 116 on a separate electronic device104) substantially in real-time. Such functionality may be possible inexamples in which the clips 1000, digital content segments 112, and/orother components of the digital media message 114 are transferred to theserver computer 102 in substantially real-time (such as at block 910) asthe digital media message 114 is being created.

In summary, example embodiments of the present disclosure providedevices and methods for generating digital media messages as a means forcommunication between users in remote locations. Such digital mediamessages include various combinations of audio, video, images, photos,and/or other digital content segments, and can be quickly and artfullycreated by each user with little effort. The methods of generating sucha digital media message described herein may reduce the file size and/ormemory requirements of such messages. As a result, a digital mediamessage 114 generated using the techniques described herein willrequire/take up less memory than a corresponding digital media messagegenerated by other methods. Such digital media messages will also enablethe various networks 106, servers 102, and/or electronic devices 104,118 described herein to transfer, store, and/or process such digitalmedia messages 114 more quickly and with fewer network, server, and/ordevice resources. As a result, such a reduction in file size and/ormemory requirements will reduce overall network load/traffic, and willimprove network, server, and/or electronic device performance. Such areduction in file size and/or memory requirements will enable thevarious networks 106, servers 102, and/or electronic devices 104, 118described herein to provide, render, display, and/or otherwise processsuch digital media messages 114 more quickly and with fewer network,server, and/or device resources.

CONCLUSION

Although the subject matter has been described in language specific tostructural features and/or methodological acts, it is to be understoodthat the subject matter defined in the appended claims is notnecessarily limited to the specific features or acts described. Rather,the specific features and acts are disclosed as illustrative forms ofimplementing the claims.

What is claimed is:
 1. A method comprising: presenting, by a computingdevice, one or more still images on a display of the computing device;receiving, by the computing device, a selection of a particular stillimage of the one or more still images; receiving, by the computingdevice, a first user input selecting a graphical element presented onthe display of the computing device; while the computing devicecontinues to receive the first user input and continues to display theparticular still image, capturing audio data corresponding to audiosignals captured by a sound sensor of the computing device; detecting,by the computing device, that the first user input has terminated;storing, by the computing device, the particular still image and thecaptured audio data as a first message segment, wherein the still imageis presented for a duration of the captured audio data responsive toplayback of the first message segment; and displaying a play sequenceassociated with a media message comprising one or more message segments,the play sequence comprising one or more thumbnail images indicative ofrespective message segments that have previously been added to the mediamessage shown in sequential order, wherein the particular still image ofthe first message segment is shown, at least initially, in a lastposition in the play sequence, and wherein the play sequence and the oneor more still images are displayed simultaneously.
 2. The method ofclaim 1, further comprising: receiving, by the computing device, asecond user input to initiate playback of the media message; presentingthe audio data corresponding to the first message segment when the firstmessage segment is reached in the play sequence; and presenting theparticular still image corresponding to the first message segment forthe duration of the presentation of the audio data.
 3. The method ofclaim 1, further comprising: generating a plurality of video framescorresponding to the duration of the audio data, where each of theplurality of video frames includes the particular still imagecorresponding to the first message segment.
 4. The method of claim 1,wherein the first user input corresponds to the selection of theparticular still image.
 5. The method of claim 1, further comprising:presenting a plurality of thumbnail images representing previouslycaptured media items in a library of media items; and wherein receivingthe selection of the particular still image includes selecting one ofthe plurality of thumbnail images.
 6. The method of claim 1, furthercomprising displaying a real-time image captured using an image sensorof the computing device simultaneously with the play sequence and theone or more still images.
 7. The method of claim 1, wherein the durationcorresponds to a period of time of the first user input.
 8. Anon-transitory computer-readable medium including one or more sequencesof instructions that, when executed by one or more processors, cause theprocessors to perform operations comprising: presenting, by a computingdevice, one or more still images on a display of the computing device;receiving, by the computing device, a selection of a particular stillimage of the one or more still images; receiving, by the computingdevice, a first user input selecting a graphical element presented onthe display of the computing device; while the computing devicecontinues to receive the first user input and continues to display theparticular still image, capturing audio data corresponding to audiosignals captured by a sound sensor of the computing device; detecting,by the computing device, that the first user input has terminated;storing, by the computing device, the particular still image and thecaptured audio data as a first message segment, wherein the still imageis presented for a duration of the captured audio data responsive toplayback of the first message segment; and displaying a play sequenceassociated with a media message comprising one or more message segments,the play sequence comprising one or more thumbnails indicative ofrespective message segments that have previously been added to the mediamessage shown in sequential order, wherein the particular still image ofthe first message segment is shown, at least initially, in a lastposition in the play sequence, and wherein the play sequence and the oneor more still images are displayed simultaneously.
 9. The non-transitorycomputer-readable medium of claim 8, wherein the instructions cause theprocessors to perform operations comprising: receiving, by the computingdevice, a second user input to initiate playback of the media message;presenting the audio data corresponding to the first message segmentwhen the first message segment is reached in the play sequence; andpresenting the particular still image corresponding to the first messagesegment for the duration of the presentation of the audio data.
 10. Thenon-transitory computer-readable medium of claim 8, wherein theinstructions cause the processors to perform operations comprising:generating a plurality of video frames corresponding to the duration ofthe audio data, where each of the plurality of video frames includes theparticular still image corresponding to the first message segment. 11.The non-transitory computer-readable medium of claim 8, wherein thefirst user input corresponds to the selection of the particular stillimage.
 12. The non-transitory computer-readable medium of claim 8,wherein the instructions cause the processors to perform operationscomprising: presenting a plurality of thumbnail images representingpreviously captured media items in a library of media items; and whereinreceiving the selection of the particular still image includes selectingone of the plurality of thumbnail images.
 13. The non-transitorycomputer-readable medium of claim 8, wherein the instructions cause theprocessors to perform operations comprising displaying a real-time imagecaptured using an image sensor of the computing device simultaneouslywith the play sequence and the one or more still images.
 14. Thenon-transitory computer-readable medium of claim 8, wherein the durationcorresponds to a period of time of the first user input.
 15. A systemcomprising: one or more processors; and a non-transitorycomputer-readable medium including one or more sequences of instructionsthat, when executed by the one or more processors, cause the processorsto perform operations comprising: presenting, by a computing device, oneor more still images on a display of the computing device; receiving, bythe computing device, a selection of a particular still image of the oneor more still images; receiving, by the computing device, a first userinput selecting a graphical element presented on the display of thecomputing device; while the computing device continues to receive thefirst user input and continues to display the particular still image,capturing audio data corresponding to audio signals captured by a soundsensor of the computing device; detecting, by the computing device, thatthe first user input has terminated; storing, by the computing device,the particular still image and the captured audio data as a firstmessage segment, wherein the still image is presented for a duration ofthe captured audio data responsive to playback of the first messagesegment; and displaying a play sequence associated with a media messagecomprising one or more message segments, the play sequence comprisingone or more thumbnails indicative of respective message segments thathave previously been added to the media message shown in sequentialorder, wherein the particular still image of the first message segmentis shown, at least initially, in a last position in the play sequence,and wherein the play sequence and the one or more still images aredisplayed simultaneously.
 16. The system of claim 15, wherein theinstructions cause the processors to perform operations comprising:receiving, by the computing device, a second user input to initiateplayback of the media message; presenting the audio data correspondingto the first message segment when the first message segment is reachedin the play sequence; and presenting the particular still imagecorresponding to the first message segment for the duration of thepresentation of the audio data.
 17. The system of claim 15, wherein theinstructions cause the processors to perform operations comprising:generating a plurality of video frames corresponding to the duration ofthe audio data, where each of the plurality of video frames includes theparticular still image corresponding to the first message segment. 18.The system of claim 15, wherein the first user input corresponds to theselection of the particular still image.
 19. The system of claim 15,wherein the instructions cause the processors to perform operationscomprising: presenting a plurality of thumbnail images representingpreviously captured media items in a library of media items; and whereinreceiving the selection of the particular still image includes selectingone of the plurality of thumbnail images.
 20. The system of claim 15,wherein the instructions cause the processors to perform operationscomprising displaying a real-time image captured using an image sensorof the computing device simultaneously with the play sequence and theone or more still images.
 21. The system of claim 15, wherein theduration corresponds to a period of time of the first user input.